package com.xw.roomWeb.web.userInfo;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.xw.roomWeb.service.UserInfoService;
import com.xw.roomWeb.vo.ResultDto;
import com.xw.roomWeb.vo.request.UserInfoRequestDTO;

/**
 * 用户
 * 
 * @author xiaoshengda
 *
 * @date 创建时间：2018年4月21日 下午5:02:43
 */
@Controller
@RequestMapping("/user")
public class UserController {
	private static final Logger LOG = LoggerFactory.getLogger(UserController.class);
	
	@Autowired
	private UserInfoService userInfoService;
	/**
	 * 注册
	 * @param userInfoRequestDTO
	 * @return    参数
	 * @author:xiaoshengda
	 * @date 创建时间：2018年4月21日 下午5:45:45
	 */
	@RequestMapping(value = "/register", method = RequestMethod.POST)
	@HystrixCommand(fallbackMethod = "registerFB")
	@ResponseBody
	public ResultDto<?> register(@RequestBody UserInfoRequestDTO userInfoRequestDTO) {
		LOG.info("web注册用户入参register:"+userInfoRequestDTO.toString());
		ResultDto<?> resultDto=this.userInfoService.registerUser(userInfoRequestDTO);
		System.out.println(resultDto.toString());
		return resultDto;

	}
	
	/**
	 * 注册失败时回调方法
	 * @param userInfoRequestDTO
	 * @return    参数
	 * @author:xiaoshengda
	 * @date 创建时间：2018年4月21日 下午5:10:42
	 */
	@ResponseBody
	public ResultDto<?> registerFB(@RequestBody UserInfoRequestDTO userInfoRequestDTO) {
		
		return null;

	}
}
